注册

ARM9 触摸校准,鼠标驱动
首页 > 嵌入式开发 > Linux嵌入式    作者:RainFly   2016年5月22日 17:07 星期日   热度:9772°   字号:   评论:1    
时间:2016-5-22 17:07   热度:9772°  评论:1 条 
前段时间被触摸屏校准弄得摸不着头脑,网上的资料对我的移植都不具有可操作性。尽管如此,我还是很感谢网络,上面有几个网页给了我很大的启示,估计做触摸屏校准的都会首先搜到这些网页一睹究竟。其中,一篇最全的竟然是武大的一位女士写的,让我佩服不已。可能受这些优秀的网友的启发吧,我在经过连续三天的奋战后,终于校准成功,并将生成的pointercal校准文件放到移植的系统中,触摸屏正常工作了。现在把碰到的问题及解决方法写在这里,供各位网友参考。
1.tslib-1.3
选用的校准程序就是网上比较流行的这个版本,下载出处可以到武大的那位朋友那里下载,基本能用。如果想从我这里得到,可以把信箱留下共同讨论。
2.准备工作
在移植tslib前,首先需要将linux移植好,并载入合适的文件系统(呵呵,此处有点废话了)。我使用的文件系统是实验板自带的MyRootfs.cramfs系统,移植成功后,使用minicom看触摸屏设备文件是什么。方法是:通过打开/dev/下touchscreen文件夹(这是触摸屏驱动自动生成的文件),看里面的文件是哪个。我的设备文件是:/dev/touchscreen/0,/dev/h3600_tsraw,/dev/h3600_ts,这对后续的环境变量设置有重要用途。当然,所用实验板不同,此设备文件亦不同,大家需要注意了解自己的系统即可。
知道触摸屏的设备文件后,要保证移植的系统在上电运行时,没有打开任何应用程序——或者说只是单纯的运行系统,即所产生的现象是只有那只企鹅孤零零的呆在你的LCD的左上角。这时就可以开始安装tslib-1.3了。
3.安装tsilib
设置好CC=/usr/local/arm/2.95.3/bin/arm-linux-gcc
CXX=/usr/local/arm/2.95.3/bin/arm-linux-g++
使用./autogen.sh生成configure文件,并运行
./configure --host=arm-linux --target=arm-linux --prefix=$PWD/build --enable-inputapi=no
修改src/ts_read_raw.c中的char *defaulttseventtype="H3600",因为我的触摸屏驱动对应此结构。
make
make install
将生成的build文件夹全部拷入一个可以作为nfs挂接的文件夹下。我的是拷到自己的文件系统中的/root/tslib 目录下(mkdir 生成)。
4.nfs挂接
打开nfs服务后,在minicom中mount -t nfs -o nolock 10.0.0.10:/root/Myjob/MyRootfs/root /tmp (此处tmp是目标文件系统上的临时文件夹)
5.环境变量设置
当nfs挂接成功后,就能够在minicom中看到挂接的/tmp/root/tslib/build,此时
cd build  #开始设置环境变量
/tmp/root/tslib # export V_ROOT=/tmp/root/tslib/build
/tmp/root/tslib # export TSLIB_CONSOLEDEVICE=none
/tmp/root/tslib # export TSLIB_FBDEVICE=/dev/fb0
/tmp/root/tslib # export TSLIB_TSDEVICE=/dev/touchscreen/0 
/tmp/root/tslib # export TSLIB_CALIBFILE=$V_ROOT/etc/pointercal
/tmp/root/tslib # export TSLIB_CONFFILE=$V_ROOT/etc/ts.conf
/tmp/root/tslib # export TSLIB_PLUGINDIR=$V_ROOT/share/ts/plugins
/tmp/root/tslib # export QWS_MOUSE_PROTO=TPanel:/dev/touchscreen/0
/tmp/root/tslib # export LD_LIBRARY_PATH=$V_ROOT/lib
/tmp/root/tslib # ln -s /dev/touchscreen/0 /dev/h3600_tsraw
/tmp/root/tslib # ln -s /dev/fb/0 /dev/fb0
/tmp/root/tslib/build/bin/ # ./ts_calibrate
 
此时就可以使用5点校准了。生成的文件放在哪里可以从环境变量TSLIB_CALIBFILE处得到。将这个文件拷出,就可以使用了。
  您阅读这篇文章共花了:  
捐赠支持:如果觉得这篇文章对您有帮助,请 "扫一扫"鼓励作者!
二维码加载中...
本文作者:RainFly      文章标题: ARM9 触摸校准,鼠标驱动
本文地址:http://www.rainfly.cn/?post=184
版权声明:若无注明,本文皆为“雨夜轩”原创,转载请保留文章出处。

还有小板凳哦!

期货资讯  Google Chrome 63.0.3239.132 Google Chrome 63.0.3239.132 Windows 7 Windows 7  2019-04-08 09:27 沙发
是很好的方法。

QQ游客评论

返回顶部    首页    捐赠支持    手气不错    友情链接    关于我们    站长工具    站长介绍    手机版本    后台登陆   
版权所有:雨夜轩    站长:RainFly    特别鸣谢   文章归档   皖ICP备15003600号-1   百度统计
Copyright©2015 雨夜轩 Powered by emlog强力驱动 七牛CDN全球加速 360站长联盟安全认证 中国博客联盟荣誉成员 可信赖网站 站点地图   
页面加载耗时:0.04秒 数据库查询次数:13次
背景设置